-
Notifications
You must be signed in to change notification settings - Fork 73
Test correct backend in examples test #597
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #597 +/- ##
=======================================
Coverage 47.64% 47.64%
=======================================
Files 22 22
Lines 1719 1719
=======================================
Hits 819 819
Misses 900 900 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Your PR no longer requires formatting changes. Thank you for your contribution! |
The wrong answers show up here, and locally I get a segfault. Is this an issue with the histogram example not having been updated or is this an issue with the implicit bounds checking? Probably the same issue alluded to in JuliaGPU/GPUArrays.jl#590 (comment) |
Still broken sanity check: https://buildkite.com/julialang/kernelabstractions-dot-jl/builds/1325#_ |
ec5d379
to
9c39536
Compare
This comment was marked as outdated.
This comment was marked as outdated.
@vchuravy This is ready for review as it seems like all non-Enzyme related tests are now passing. I know how busy you are so I organized the commits and added some extra context for some of the changes to try and make this as easy as possible for you to go over. Typo in commit description: "1-24" should be "1024" |
Thanks! |
6917680
to
7526fea
Compare
Metal doesn't always support 1-24 threads, which causes intermittent errors with 32x32 tiles
The final part of the loop expects every thread to exists, so we cannot not launch them. Avoid work on extra threads until then. Also use Int32 since some backends lack Int64 atomics, and make one of the tests have weird groupsize since that's when the errors used to pop up.
Co-authored-by: Christian Guinard <28689358+christiangnrd@users.noreply.github.com>
* Use Float32 in examples with backends that don't support Float64 * Add `backend` argument for `examples_testset` * Reduce `TILE_DIM` for compatibility Metal doesn't always support 1-24 threads, which causes intermittent errors with 32x32 tiles * Fix histogram implementation The final part of the loop expects every thread to exists, so we cannot not launch them. Avoid work on extra threads until then. Also use Int32 since some backends lack Int64 atomics, and make one of the tests have weird groupsize since that's when the errors used to pop up. (cherry picked from commit dab03b9)
* Use Float32 in examples with backends that don't support Float64 * Add `backend` argument for `examples_testset` * Reduce `TILE_DIM` for compatibility Metal doesn't always support 1-24 threads, which causes intermittent errors with 32x32 tiles * Fix histogram implementation The final part of the loop expects every thread to exists, so we cannot not launch them. Avoid work on extra threads until then. Also use Int32 since some backends lack Int64 atomics, and make one of the tests have weird groupsize since that's when the errors used to pop up. (cherry picked from commit dab03b9)
Like #593 but targeting main